package com.mustafaiev.tair.cts.model;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import com.mustafaiev.tair.cts.enums.EntityState;

/**
 * @author tair
 * 
 */
@Entity
@Table(name = "payers")
public class Payer implements ICostTrackingSystemModel {

	private static final long serialVersionUID = -7841628424034064947L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;

	private Long unitedKey;

	@OneToMany
	private List<Basket> baskets;

	@OneToMany
	private List<Purchase> purchases;

	private List<Group> groups;

	private String firstname;

	private String lastname;

	private String email;

	private String password;

	private EntityState state;

	public Long getId() {
		return this.id;
	}

	public void setId(final Long id) {
		this.id = id;
	}

	public Long getUnitedKey() {
		return this.unitedKey;
	}

	public void setUnitedKey(final Long unitedKey) {
		this.unitedKey = unitedKey;
	}

	public List<Basket> getBaskets() {
		return this.baskets;
	}

	public void setBaskets(final List<Basket> baskets) {
		this.baskets = baskets;
	}

	public List<Purchase> getPurchases() {
		return this.purchases;
	}

	public void setPurchases(final List<Purchase> purchases) {
		this.purchases = purchases;
	}

	public String getFirstname() {
		return this.firstname;
	}

	public void setFirstname(final String firstname) {
		this.firstname = firstname;
	}

	public String getLastname() {
		return this.lastname;
	}

	public void setLastname(final String lastname) {
		this.lastname = lastname;
	}

	public String getEmail() {
		return this.email;
	}

	public void setEmail(final String email) {
		this.email = email;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(final String password) {
		this.password = password;
	}

	public List<Group> getGroups() {
		return this.groups;
	}

	public void setGroups(final List<Group> groups) {
		this.groups = groups;
	}

	public EntityState getState() {
		return this.state;
	}

	public void setState(final EntityState state) {
		this.state = state;
	}

}
